package vn.edu.ptithcm.pim.dom;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

public class Task implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long taskid;
	private Long version;
	private TaskPriority taskPriority;
	private TaskStatus taskStatus;
	private TaskCategory taskCategory;
	private TaskSeverity taskSeverity;
	private Project project;
	private String reporter;
	private String assignedto;
	private String monitoredby;
	private String summary;
	private String description;
	private String additionalinformation;
	private Integer percentcomplete;
	private Date createdtime;
	private Date starttime;
	private Date endtime;
	private Float estimatetime;
	private Float actualtime;
	private String phase;
	private String code;
	private Date lastchanged;
	private String note;
	private Set<Task> tasksForTaskid = new HashSet<Task>(0);
	private Set<Task> tasksForTaskchildid = new HashSet<Task>(0);
	private boolean attachedfiles;

	public void copyTask(Task task) {
		this.additionalinformation = task.getAdditionalinformation();
		this.attachedfiles = task.isAttachedfiles();
		this.description = task.getDescription();
		this.note = task.getNote();
		this.summary = task.getSummary();
		this.taskCategory = task.getTaskCategory();
		this.taskPriority = task.getTaskPriority();
		this.taskSeverity = task.getTaskSeverity();
	}

	public boolean isAttachedfiles() {
		return attachedfiles;
	}

	public void setAttachedfiles(boolean attachedfiles) {
		this.attachedfiles = attachedfiles;
	}

	public Long getVersion() {
		return version;
	}

	public void setVersion(Long version) {
		this.version = version;
	}

	public Long getTaskid() {
		return this.taskid;
	}

	public void setTaskid(Long taskid) {
		this.taskid = taskid;
	}

	public TaskPriority getTaskPriority() {
		return this.taskPriority;
	}

	public void setTaskPriority(TaskPriority taskPriority) {
		this.taskPriority = taskPriority;
	}

	public TaskStatus getTaskStatus() {
		return this.taskStatus;
	}

	public void setTaskStatus(TaskStatus taskStatus) {
		this.taskStatus = taskStatus;
	}

	public TaskCategory getTaskCategory() {
		return this.taskCategory;
	}

	public void setTaskCategory(TaskCategory taskCategory) {
		this.taskCategory = taskCategory;
	}

	public TaskSeverity getTaskSeverity() {
		return this.taskSeverity;
	}

	public void setTaskSeverity(TaskSeverity taskSeverity) {
		this.taskSeverity = taskSeverity;
	}

	public Project getProject() {
		return this.project;
	}

	public void setProject(Project project) {
		this.project = project;
	}

	public String getReporter() {
		return this.reporter;
	}

	public void setReporter(String reporter) {
		this.reporter = reporter;
	}

	public String getAssignedto() {
		return this.assignedto;
	}

	public void setAssignedto(String assignedto) {
		this.assignedto = assignedto;
	}

	public String getSummary() {
		return this.summary;
	}

	public void setSummary(String summary) {
		this.summary = summary;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getAdditionalinformation() {
		return this.additionalinformation;
	}

	public void setAdditionalinformation(String additionalinformation) {
		this.additionalinformation = additionalinformation;
	}

	public Integer getPercentcomplete() {
		return this.percentcomplete;
	}

	public void setPercentcomplete(Integer percentcomplete) {
		this.percentcomplete = percentcomplete;
	}

	public Date getCreatedtime() {
		return this.createdtime;
	}

	public void setCreatedtime(Date createdtime) {
		this.createdtime = createdtime;
	}

	public Date getStarttime() {
		return this.starttime;
	}

	public void setStarttime(Date starttime) {
		this.starttime = starttime;
	}

	public Date getEndtime() {
		return this.endtime;
	}

	public void setEndtime(Date endtime) {
		this.endtime = endtime;
	}

	public Float getEstimatetime() {
		return this.estimatetime;
	}

	public void setEstimatetime(Float estimatetime) {
		this.estimatetime = estimatetime;
	}

	public Float getActualtime() {
		return this.actualtime;
	}

	public void setActualtime(Float actualtime) {
		this.actualtime = actualtime;
	}

	public String getPhase() {
		return this.phase;
	}

	public void setPhase(String phase) {
		this.phase = phase;
	}

	public String getCode() {
		return this.code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Date getLastchanged() {
		return this.lastchanged;
	}

	public void setLastchanged(Date lastchanged) {
		this.lastchanged = lastchanged;
	}

	public String getNote() {
		return this.note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	public String getMonitoredby() {
		return monitoredby;
	}

	public void setMonitoredby(String monitoredby) {
		this.monitoredby = monitoredby;
	}

	public Set<Task> getTasksForTaskid() {
		return this.tasksForTaskid;
	}

	public void setTasksForTaskid(Set<Task> tasksForTaskid) {
		this.tasksForTaskid = tasksForTaskid;
	}

	public Set<Task> getTasksForTaskchildid() {
		return this.tasksForTaskchildid;
	}

	public void setTasksForTaskchildid(Set<Task> tasksForTaskchildid) {
		this.tasksForTaskchildid = tasksForTaskchildid;
	}
}
